home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / DOCS / ST_GUIDE.PR / XBIOS.TXT < prev   
Encoding:
Text File  |  2010-01-01  |  13.5 KB  |  304 lines

  1. PRT_LINE /x1k1                                  ┌───────┐
  2.                                   │ XBIOS │
  3. ──────────────────────────────────┴───────┴─────────────────────────────────────
  4. !PROG_executeSUPERsubroutine!(38,subroutineaddress.L)
  5. ────────────────────────────────────────────────────────────────────────────────
  6. !PROG_SetINTerruptVECTOR!(13,vectornumber,vector.L)
  7.  
  8.                            vectornumber
  9.                               0-15
  10. ────────────────────────────────────────────────────────────────────────────────
  11. !PROG_INTerruptENABLE!(27,intnumber)
  12.  
  13.                         intnumber
  14.                           0-15
  15. ────────────────────────────────────────────────────────────────────────────────
  16. !PROG_INTerruptDISABLE!(26,intnumber)
  17.  
  18.                          intnumber
  19.                           0-15
  20. ────────────────────────────────────────────────────────────────────────────────
  21. !PROG_TIMER!(31,timer,control,data,vector.L)
  22.  
  23.               timer
  24.                 0:A
  25.                 1:B
  26.                 2:C
  27.                 3:D
  28. ────────────────────────────────────────────────────────────────────────────────
  29. !CONS_GetBUFFERS!(14,device) = bufferinputaddress.L
  30.  
  31.                    device    bufferinput
  32.                      0:AUXI     byte#
  33.                      1:KBRD      0- 3  buffer
  34.                      2:MIDI      4- 5  size
  35.                                  6- 7  head
  36.                                  8- 9  tail
  37.                                 10-11  low
  38.                                 12-13  high
  39.                   if=0/2 bufferoutput is after the bufferinput
  40. ────────────────────────────────────────────────────────────────────────────────
  41. !CONS_GetVECTORS!(34) = vectortable.L
  42.  
  43.                       vectortable
  44.                          byte#
  45.                           0- 3  midi input (D0=data)
  46.                           4- 7  ikbd error
  47.                           8-11  midi error
  48.                          12-15  ikbd status (A0=data address)
  49.                          16-19  mous input  (A0=data address)
  50.                          20-23  clck input  (A0=data address)
  51.                          24-27  joys input  (A0=data address D0=RLDU)
  52. ────────────────────────────────────────────────────────────────────────────────
  53. !IKBD_OUTString!(25,#char-1,stringaddress.L)
  54. ────────────────────────────────────────────────────────────────────────────────
  55. !MOUS_INIT!(0,mode,parametersaddress.L,vector.L)
  56.  
  57.             mode
  58.              0:disable mouse
  59.              1:enable mouse,relative mode
  60.              2:enable mouse,absolute mode
  61.              4:enable mouse,keyboard mode
  62.  
  63.                  parameters
  64.                  byte#
  65.                      0  Yorigine(0:up 1:down)
  66.                      1  buttons(see HD6301 command:MOUSE_Buttons)
  67.                      2  #pixel_X
  68.                      3  #pixel_Y
  69.                   4- 5  Xmaxi
  70.                   6- 7  Ymaxi
  71.                   8- 9  Xinitial
  72.                  10-11  Yinitial
  73. ────────────────────────────────────────────────────────────────────────────────
  74. !MIDI_OUTString!(12,#char-1,stringaddress.L)
  75. ────────────────────────────────────────────────────────────────────────────────
  76. !KBRD_SetkeyTABLES!(16,normal.L,shift.L,capslock.L) = tablestructureaddress.L
  77.  
  78.                      normal   shift   capslock      tablestructure
  79.                         addresses of tables            byte#
  80.                          of 128 bytes each              0- 3 normal
  81.                            if =-1 no set                4- 7 shift
  82.                   each SCAN corresponding to ASCII      8-11 capslock
  83. ────────────────────────────────────────────────────────────────────────────────
  84. !KBRD_ResetkeyTABLES!(24)
  85. ────────────────────────────────────────────────────────────────────────────────
  86. !KBRD_getsetDELayREPeat!(35,delay,repeat) = olddelayrepeat
  87.  
  88.                           delay repeat    olddelayrepeat
  89.                           0-255 0-255     b0-b7  repeat (in 1/50 sec.)
  90.                          if =-1 no set    b8-b15 delay  (in 1/50 sec.)
  91.                                   ┌───────┐
  92.                                   │ XBIOS │
  93. ──────────────────────────────────┴───────┴─────────────────────────────────────
  94. !SCRN_GetRESolution!(4) = resolution
  95.  
  96.                         resolution
  97.                             0:low
  98.                             1:medium
  99.                             2:high
  100. ────────────────────────────────────────────────────────────────────────────────
  101. !SCRN_GetPhysicalBASE!(2) = physicalbase.L
  102. ────────────────────────────────────────────────────────────────────────────────
  103. !SCRN_getsetCOLOR!(7,colorregister,color) = oldcolor
  104.  
  105.                                  color
  106.                              if =-1 no set
  107. ────────────────────────────────────────────────────────────────────────────────
  108. !SCRN_SetPALETTE!(6,paletteaddress.L)
  109. ────────────────────────────────────────────────────────────────────────────────
  110. !SCRN_GetLogicalBASE!(3) = logicalbase.L
  111. ────────────────────────────────────────────────────────────────────────────────
  112. !SCRN_SET!(5,logicalbase.L,physicalbase.L,resolution)
  113.  
  114.            logicalbase   physicalbase   resolution
  115.          if =-1 not set if =-1 not set if =-1 not set
  116. ────────────────────────────────────────────────────────────────────────────────
  117. !SCRN_WaitVerticalBLanking!(37)
  118. ────────────────────────────────────────────────────────────────────────────────
  119. !SCRN_CurSoRCONFiguration!(21,function,rate) = rate
  120.  
  121.                             function
  122.                                0:disable cursor
  123.                                1:enable cursor
  124.                                2:flashing cursor
  125.                                3:still cursor
  126.                                4:set rate flashing cursor
  127.                                5:get rate flashing cursor
  128.  
  129.                                      rate
  130.                                      vblcount if function=4
  131. ────────────────────────────────────────────────────────────────────────────────
  132. !SCRN_getsetBLITterMODE!(64,blittermode) = blittermode
  133.  
  134.                           blittermode
  135.                               b0      soft/hard
  136.                               b1      absent/present
  137.                               b2-b14  reserved
  138.                               b15     set/get
  139. ────────────────────────────────────────────────────────────────────────────────
  140. !SOUN_RW!(28,data,register) = data
  141.  
  142.            data register
  143.            if W  b0-b3  register
  144.                  b7     R/W
  145.  
  146.                             data
  147.                             if R
  148. ────────────────────────────────────────────────────────────────────────────────
  149. !SOUN_PLAY!(32,songaddress.L)
  150.  
  151.              song(bytestructure)
  152.              if =$00-$0F  load this sound register with the next byte
  153.              if =$80      load temporary register with the next byte
  154.              if =$81      do variation in a sound register (1rst byte)
  155.                           begin with the temporary register
  156.                           with a step (2nd byte signed)
  157.                           until the end value is reached (3rd byte)
  158.              if =$82      wait #(next byte) of 1/50 second
  159.                                   if = 0 then stop song
  160. ────────────────────────────────────────────────────────────────────────────────
  161. !SOUN_PortABitsON!(30,mask)
  162.  
  163.                     mask
  164.             if bit=0 then no change
  165.             if bit=1 then bit on
  166. ────────────────────────────────────────────────────────────────────────────────
  167. !SOUN_PortABitsOFF!(29,mask)
  168.  
  169.                      mask
  170.              if bit=0 then bit off
  171.              if bit=1 then no change
  172.                                   ┌───────┐
  173.                                   │ XBIOS │
  174. ──────────────────────────────────┴───────┴─────────────────────────────────────
  175. !DISK_FORMAT!(10,buffer.L,0.L,drive,sectorpertrack,track,face,1,$87654321,virgin)
  176.  
  177.                buffer       drive sectorpertrack track face             virgin
  178.                address       0-31     1-10        0-79  0-1             $E5E5
  179.                ~ 8 Kb                                                   for ex.
  180.           if bad sector error
  181.           contain the bad sector list
  182.           by word (0=end)
  183.           after the call
  184. ────────────────────────────────────────────────────────────────────────────────
  185. !DISK_READ!(8,buffer.L,0.L,drive,sector,track,face,#sector)
  186.  
  187.             buffer       drive sector track face #sector
  188.             address       0-31  1-10   0-79  0-1   1-10
  189. ────────────────────────────────────────────────────────────────────────────────
  190. !DISK_WRITE!(9,buffer.L,0.L,drive,sector,track,face,#sector)
  191.  
  192.              buffer       drive sector track face #sector
  193.              address       0-31  1-10   0-79  0-1   1-10
  194. ────────────────────────────────────────────────────────────────────────────────
  195. !DISK_VERIFY!(19,buffer.L,0.L,drive,sector,track,face,#sector)
  196.  
  197.                buffer       drive sector track face #sector
  198.                address       0-31  1-10   0-79  0-1   1-10
  199.             if bad sector error
  200.             contain the bad sector list
  201.             by word (0=end)
  202.             after the call
  203. ────────────────────────────────────────────────────────────────────────────────
  204. !DISK_SetBOOTsector!(18,buffer.L,identifier.L,disktype,execflag)
  205.  
  206.                       buffer
  207.                 address of 512 bytes
  208.  
  209.                                identifier
  210.                                b0-b23  number to write
  211.                                b24     if = 0 then randomize a number
  212.                                b31     if = 1 then no change
  213.  
  214.                                             disktype
  215.                                                2:single side
  216.                                                3:double side
  217.                                               -1:no change
  218.  
  219.                                                      execflag
  220.                                                         0:normal
  221.                                                         1:executable
  222.                                                        -1:no change
  223. ────────────────────────────────────────────────────────────────────────────────
  224. !PRNT_getsetCONFiguration!(33,config) = config
  225.  
  226.                             config
  227.                               b0      dot/daisy
  228.                               b1      monochrom/color
  229.                               b2      Atari/Epson
  230.                               b3      draft/letter
  231.                               b4      printer/auxiliary
  232.                               b5      listing/page
  233.                               b6-b14  -
  234.                               b15     set/get
  235. ────────────────────────────────────────────────────────────────────────────────
  236. !PRNT_BLocKCOPY!(36,parameters.L)
  237.  
  238.                   parameters
  239.                   address
  240.                   byte#
  241.                    0- 3  block address (even or odd)
  242.                    4- 5  offset in pixels (0-7)
  243.                    6- 7  width  in pixels
  244.                    8- 9  height in pixels
  245.                   10-11  left   in pixels
  246.                   12-13  right  in pixels
  247.                   14-15  screen resolution (0-2)
  248.                   16-17  printer resolution (0:draft 1:letter)
  249.                   18-21  screen color palette address (16 words)
  250.                   22-23  printer type
  251.              (0:Atari-dot-mono 1:Atari-dot-color 2:Atari-daisy 3:Epson-dot-mono)
  252.                   24-25  output (0:printer 1:auxiliary)
  253.                   26-29  printer color palette address (16 words)
  254.  
  255. N.B.:runs only if the scrncopy system variable is disable
  256. ────────────────────────────────────────────────────────────────────────────────
  257. !PRNT_SCReeNCOPY!(20)
  258.                                   ┌───────┐
  259.                                   │ XBIOS │
  260. ──────────────────────────────────┴───────┴─────────────────────────────────────
  261. !AUXI_SetCONFiguration!(15,baud,ctrl,ucr,rsr,tsr,scr)
  262.  
  263.                          baud
  264.                            0:19200 bauds
  265.                            1: 9600
  266.                            2: 4800
  267.                            3: 3600
  268.                            4: 2400
  269.                            5: 2000
  270.                            6: 1800
  271.                            7: 1200
  272.                            8:  600
  273.                            9:  300
  274.                           10:  200
  275.                           11:  150
  276.                           12:  134
  277.                           13:  110
  278.                           14:   75
  279.                           15:   50
  280.  
  281.                               ctrl
  282.                                0:no handshake
  283.                                1:xon/xoff
  284.                                2:rts/cts
  285.                                3:xon/xoff and rts/cts
  286. ────────────────────────────────────────────────────────────────────────────────
  287. !TIME_GET!(23) = time.L
  288.  
  289.                time
  290.                b0-b4    second/2
  291.                b5-b10   minute
  292.                b11-b15  hour
  293.                b16-b20  day
  294.                b21-b24  month
  295.                b25-b31  year-1980
  296. ────────────────────────────────────────────────────────────────────────────────
  297. !TIME_SET!(22,time.L)
  298. ────────────────────────────────────────────────────────────────────────────────
  299. !TIME_GetRANDOMnumber!(17) = randomnumber.L
  300.  
  301.                            randomnumber
  302.                              b0-b23   randomnumber
  303.                              b24-b31  0
  304.